if a coinbase reward isn't fully spent, can the coins ever be recovered?
No, the remainder of the reward is lost.

The bitcoin protocol includes a check which rejects a block that claims a bigger reward than 'current block reward + transaction fees'. Thus, inevitably follows that any rewards unclaimed in the coinbase transaction cannot be claimed at a later time.