As Meni mentions, there are ways to change the hashing algorithm used for Bitcoin. For this change to be made, all clients would have to be updated and the blockchain would look very weird as it would still contain all historic data that used SHA256.
However, when some party from one day to the other can manually create collisions, as I think you suggest with "compromised", they will only be able to send bitcoins from all existing addresses if also RIPEMD-160 and ECDSA will be compromised. These three algorithms are used to create the address from a private key.
SHA256 has more significance in mining. But still, I think the ability to manually create SHA256 collisions won't help you much with mining. When mining, you hash a bock that has a certain formatting. This hash must satisfy certain conditions in order to be accepted. So what you would be able to do when you compromised SHA256 is take a valid hash and look for different plaintexts that result in this hash. However, the chance that this plaintext has a valid block format is very low. I'd guess myself it is even smaller than the chance to find a valid block in the regular way of mining.
(Can anyone please verify this conclusion?)
Concerning address generation and generating address collisions, I once read (sorry I forgot where), that it is indeed the plan to change the hashing algorithm if the mining ecosystem evolves to a certain point. Currently searching for hash collisions is far less profitable than mining. But finding a collision can earn you more than one block reward. So what I read was that as soon as collision finding is no longer discouraged enough by being so much less profitable than mining, a change of hashing algorithm will be necessary. This change will probably make address generation harder.