If Barack Obama had been born in Kenya to a USC mother and a UK-Citizen father, he would be considered a USC (under a jus sanguinus rationale) only if his USC parent (his mother) had been a resident of the US for at least 5 years after her 14th birthday. (Currently this law has changed to a 2-year minimum post the age of 14). As it happens, Obama's mother was 18 at the time of his birth so there would have been no way Obama would have been born a USC if he had been born in Kenya. His birth certificates show he was born in Hawaii (the 50th State of the United States). By being born in one of the states of the US, he is considered a USC (under a jus soli rationale) just the same as if he were the child of an illegal immigrant born in the US. So far so good. There's no question that Obama was a "natural born citizen of the United States" at birth and has since maintained his Citizenship.
Now to McCain:
At the time of his birth (1936), McCain was not a USC. Although he was born to two USC parents in the US-controlled Panama Canal Zone, and would today have been granted US Citizenship under a jus sanguinus rationale, the law in 1936 held that jus sanguinus rationale could only be applied to children born in an independent foreign country to at least one USC parent. The US-Controlled Panama Canal Zone could not be considered an independent foreign country, and without a jus sanguinus or jus soli rationale, McCain was considered a non-Citizen at birth. So in 1937 a new law was passed granting jus sanguinous rationale to those born in US Territories as well, and applying the status retroactively. Even though McCain was not born a USC, then, at this point he was considered (and is still considered) a USC by birth (under jus sanguinus). Since this time McCain has retained his Citizenship status.
The real issue boils down to what is meant by "natural born citizen." There is no question that Obama is a "natural born citizen." As far as McCain goes, it's a matter of interpretation. The senate passed a resolution declaring McCain acceptable as US President, so I guess we can see what the legislature seems to think. I'm not sure what I think, but I think it's pretty clear there's more question about McCain than about Obama.