Running out of food has the exact same effect as not having enough garrisons, or in your words, the garrisons simply don't count when the city reaches zero food. It doesn't have anything to do with morale though - the city starts rebelling the second it runs out of food, and stops the moment you deliver some food to it (provided enough garrisons are also present).
Sending in whatever units you have nearby with the food they carry usually solves this problem until you can sort out the supply. And it's often worth keeping garrisons who consume the least food, even if they're more expensive - e.g. in cities which required 35-40 garrisons I kept a regular 40-man hoplite brigade instead of 2 spearmen companies.