I would also encourage you to look at strange events that have occurred with automated trading systems. One of them sees something to trigger a sell, so it sells. This in turn triggers another automated trader to sell, and (assuming that this causes the price to begin to fall and that other automatic traders sell when the price starts to fall) many other electronic traders dump their stock. The final result is that the stock price crashes for no reason other than a bunch of computers got overenthusiastic by blindly following what seemed to be good rules at the time.
A similar thing happens in power networks. Assume that demand is very high and all of the lines feeding power into an area are close to 100% capacity (perhaps the normal spare capacity is absent due to them being on maintenance combined with an unusually high load -- say a VERY hot day).
These feed in lines will trip out in certain circumstances. One of them detects a fault. Perhaps it is a low voltage at the terminal end. To protect the network, this feed line is shut down. All of a sudden, the other feed lines are called on to supply more power. They can't, and shut down too. Once started this will continue until all the feed lines have tripped -- and the process accelerates.
This may not be the end of it. The power stations on the other ends of the lines suddenly see a huge reduction in load. This causes bad things to happen -- the result being frequency or voltage changes in the power they are supplying to the rest of their network. In this case, the entire power station might trip itself of the network.
You can probably see where this is heading. This is going to increase the load on other power stations and/or transmission lines. This may cause the transmission line and/or the power stations to trip out.
The problem cascades along.
The smart response would have been for some of the load on the first transmission line to be dropped. Or a large part of the load to have been dropped after it failed, but because all the parts act autonomously, the problem tends to get worse rather than better.
Incidentally, this is one reason for rolling blackouts. The operators pre-emptively shed load to prevent larger scale problems, and the (fortunately infrequently seen) cascading failure.
Perhaps such a cascading failure could be initiated? Or perhaps a large load shedding could be initiated by affecting a small part of the network in a seemingly trivial way by someone who has modelled how the entire system works under fault conditions.
For your story, I have no idea if this city wide blackout is deliberate, or an accidental event. Either way, there are rational (and historically plausible) scenarios.
As an aside, there is the possibility that certain forms of solar activity (a corona mass ejection for example) could trigger something like this.