The biggest problem with coming up with a disaster scenario here is the need to kill 90% of the population. That's going to be a very difficult thing to do. Most of the disaster scenarios mentioned in other answers (climate change, a Carrington event, a limited nuclear war) would not come close to that.
The IPCC says climate change could cause a loss of global GDP of .5-2% by 2100. That's bad, but it's a far cry from killing 90% of the population. Even the most extreme scenarios for climate change would not kill a large percentage of the population.
A strong Carrington-level event would certainly kill a lot of people. Even a short-term (months) disruption of power grids and communication networks and electronics in general would result in large losses of population as food distribution and production failed, but 90% is not realistic.
A nuclear war - even a large-scale one - would not kill 90% of the population. Even at the height of the cold war, with potentially thousands or tens of thousands of warheads detonated in a conflict, no one was predicting anything close to 90% loss of life. In 1979 the Office of Technology Assessment issued a report to Congress in which they estimated loss of life in a full scale exchange between the Soviet Union and the U.S.A as being 35-77% of people in America, and 20-40% in the Soviet Union.
The Effects of Nuclear War
To be fair, they admit that there are a lot of unknowns and some of their estimates are just educated guesses. Still, even if you accept the worst case, it's hard to get to 90% because there are a lot of countries that are very spread out and likely not to be targeted. Australia, Indonesia, Africa, South America... Lots of population would likely survive, and many of them would be in the Southern Hemisphere where even fallout patterns can't get to them.
There are two disasters that could easily kill 90%, or even wipe out humanity completely. Those are a giant impactor (asteroid or comet), or a biological weapon. We discover new comets and asteroids all the time, and while we have no doubt found all the close ones that could threaten the Earth with an extinction-level event, you can always have one appear from outside the solar system. We'd know it was coming for a long time, since anything big enough to destroy mankind would be spotted long before it got here, but we'd be utterly unable to do anything about it.
A biological weapon could wipe out humanity if it was designed to do so. Imagine a virus that has no symptoms other than to make the person who contracts it be sterile. Or a virus that is contagious for a long time before it begins to show symptoms, and then you die shortly thereafter. There would be no way to find the carriers, or even to know the disease existed before it had spread through enough populations that it could never be stopped. Maybe 10% of the people have an immunity.
If you had said that 1/3 or even 1/2 of the people die then I think you could plausibly use any of the disaster scenarios mentioned. But 90% is a really hard number to get to. I'd go with either a major impact or a biological weapon.