Is there a definition of a black hole in a generic spacetime? In some books, for example Wald's, black holes are defined for asymptotically flat spacetime with strong asymptotic predictability, although the definition makes sense without the second condition. Is there a notion of a black hole in general spacetime, not necessarily asymptotically flat? Or is it the case that there is not a "natural" or agreed upon definition?
What the definition needs to capture is that a black hole is not (1) a naked singularity, or (2) a big bang (or big crunch) singularity. We also want the definition to be convenient to work with so that, for example, it's possible to prove no-hair theorems.
Since we want to exclude naked singularities, it's natural that we require an event horizon. Event horizons are by their nature observer-dependent things. For example, if we have a naked singularity, we can always hide its nakedness by picking an observer who is far away from it and accelerating continuously away from it. Such an accelerated observer always has an event horizon, even in Minkowski space. This example shows that it makes a difference what observer we pick.
Actually, we can't have a material observer at null infinity, since timelike infinity, not null infinity, is the elephants' graveyard for material observers. However, the choice of null infinity is the appropriate one because a black hole is supposed to be something that light can't escape from.
Of course the actual universe isn't asymptotically flat, but that doesn't matter. In practice, all we care about is that the black hole is surrounded by enough empty space so that the notion of light escaping from it is well defined for all practical purposes.
There are other possible ways of defining a black hole, e.g., http://arxiv.org/abs/gr-qc/0508107 .