Let's call it a "time machine attack".
Suppose I have an isolated network of n clients with a significant hash rate, install my client software on that and start mining on an older blockchain.
Since the difficulty was lower back then, I get lots of blocks in very little time, but my timestamps could be forged, and the difficulty increases, but not so much as the real network difficulty (however I am fully in control of my network and can do anything on my blockchain, increasing and decreasing difficulty if I need to, faking timestamps, and so on).
As soon as my chain is longer than the official one, I rejoin the network. What happens then? Does my longer chain overwrite the other one, effectively giving me all of the bitcoins ever generated after my split?
Update - explanation
The attacker doesn't need 51% of the computing power of the network. A single pool could start hashing from some point back in time when the difficulty was low, then increase or decrease it in order to grow the blockchain faster. The last "few" blocks could even be harder than the official network difficulty (and take days instead of minutes). The attacker can do what he wants on his network, changing network difficulty and forging timestamps, and the length of the blockchain does not depend only on the current network difficulty. I think it's possible to generate a longer blockchain with "relatively low" hash rates (2% - 20% of the network), it could take months (instead of years) but it could be possible in theory.