Yes, McCain can defeat Obama, but it doesn't necessarily mean that he will win. In fact, I am predicting (and have, for some time now) that he won't.
If Obama wins the general election this November, combined with increased Democratic majorities in both houses of Congress, along with further gains at the state level, he as well as his party can thank the GOP for unwitting enabling their victory which could, in all likelihood, be the Democratic equivalent of 1980. The six years of (nearly) unbroken Republican rule from 2001 to 2007 can be seen as a necessary step to help Democrats in the process of reinventing themselves as a party with a coherent vision and a grassroots coalition to bring that vision about, as opposed to merely a laundry list of disjointed DC-centered interest groups comprising its membership.
Conservative excesses on all fronts, whether it be in the invasion and botched reconstruction of Iraq, the perceived failure of conservative economics (and this recession will further reinforce that), and the preference for national mandates by the Religious Right (e.g. the constitutional amendment to ban gay marriage, and extraordinary congressional Republican action to prevent Terry Schiavo from being euthanized) will be seen as the catalyst for what is likely to be a realigning election.
Of course, if the Dems are in office in ~September 2014 when, if history is any guide, the economy will have its next cyclic downswing, they will almost certainly loose both houses in the November midterms.