McCain is not a Panamanian citizen. Very few countries, the US being one of them, grant citizenship solely based on being born in the country.
And McCain is a natural born citizen- he was a citizen at birth due to his parents both being American citizens. His place of birth is wholly irrelevant. There is simply no rational argument that can be made that the child of two American citizens is not a citizen from birth, and therefore not a natural-born citizen.
Oddly enough, if McCain had been born to Panamanian military stationed in the United States, he probably would not be a citizen. That's because the 14th Amendment requires the kid to be subject to the jurisdiction of the United States in addition to being born on US soil. That excludes children born to foreigners here on official business of their government, such as diplomats or members of foreign military stationed here.