Why would you be able to spend zero satoshis? What's the point of making those spendable?
Technically it is correct. Some example: 9f0b871e28fa19e2308e2fa74243bf2dcf23b160754df847d5f1e41aabe499d1. The last two inputs have zero satoshis and are spendable. Like it or not, there is no consensus rule that prevents creating or spending zero satoshis, when it is done by miners. It is limited for typical users, because such transactions does not meet the dust limit, so they are non-standard (but valid when placed in a block, so future soft-forks can make them standard).
Practically, why would we ever need that? There could be many reasons, because you can build many protocols based on that. The best example I found is when we would like to introduce Monero-like system in the future, where coin amounts will be hidden. By putting zeroes, you can say to old nodes "don't check that" and make it backward-compatible. Because you have to put some amount in such system, using zero seems to be quite natural choice in this case.