How are brain wallets generated? How do sites like blockchain.info and bitaddress.org generate private keys by simply hashing a string? (the passphrase?) 

In this wiki article,
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
Step "0" starts with an ECDSA key pair already generated.

Does this mean that any 256-bit value can be a valid ECDSA private key? So wherever I am in the world, I can always just SHA256(passphrase) and get my private key?
Any 256-bit value can be a valid secp256k1 ECDSA private key. Strictly speaking, there's an upper limit that's slightly lower than 2^256, but you can just wrap them around.

So yes, you can just use SHA256(passphrase) to generate a private key.