If I were to wager a guess, I'd say a more likely reason for not allowing unopened cans is so the passenger doesn't just stuff it in a bag and take it with them. That way, airlines aren't paying for a drink that you would otherwise buy for yourself on the ground somewhere.