Based on bitcoin source code: https://github.com/bitcoin/bitcoin/blob/0.8.6/src/main.cpp#L2112 a valid block should have the Coinbase transaction (the one that spends the rewards and fees) as the first transaction and no other coinbase transactions must appear in the block.
Spending the full reward and fees is not enforced.
So your answer is only invalid blocks do not have a Coinbase transaction or have it at a different position from the first one.
But that transaction can be used to send the coins to any address not only miners one, so maybe there has been blocks using the coinbase transaction to pay for goods or pay other people different from the miner (for example Eligius pool uses it to pay the shares directly).
Any time the miner chose not to include the reward he's entitled to, or chose to put the transaction elsewhere. As to whether that's ever actually happened, I don't know and am looking... – Tim S. – 2014-01-31T20:12:27.793