maxernst: After I hit next turn, one of my cities was attacked and destroyed (couldn't really see what happened as it went by too fast). Next to the city was a lair that wasn't there before. Is this a bug or some sort of spell effect? There was an enemy unit in the area (Ss'thra).
Which version are you playing? While there is a mechanic in the base game for creating new monster lairs, it isn't a randomly occurring event.
Periodically, the game will attempt to spawn a stack of indy units. This stack could be spawned by an indy city, consisting of units that city can build and called Raiders, or the stack could be spawned by a monster lair (ruin, tower, node, etc), consisting of units of the same sphere of magic as the lair (though not necessarily the same creatures) and called Rampaging Monsters.
Either way, the indy stack will look for any non-indy cities that it can reach (whether yours or controlled by an AI wizard), and they'll proceed toward one such city. If the stack can't reach any non-indy cities, then they'll stay put until there is a city they can reach (such as if a wizard conquers a neutral city on the same continent).
If Raiders manage to beat the city defenders, then the city becomes independent.
If Rampaging Monsters manage to beat the city defenders, then one of two things will happened (which one is chosen randomly). 1) The monsters rampage through the city and then disappear into the wilderness. The indy stack despawns, the city remains under the control of the owner, and I believe the city takes extra damage to buildings and population. 2) The monsters destroy the city. The city is replaced by a monster lair. The lair is guarded by whatever was in the stack, and the loot for lair is whatever gold the city's original owner lost when the city was captured.