No but he was born of two US citizen parents. And they were there due to military assignment, so yes McCain is. But to your point about there being questions in both instances, that is probably no accident.
No, McCain is not natural born if you go by the language in the constitution. He was born in a hospital in Colon which was not on a U.S. military base so he doesn’t get a pass there, either. That’s why there was a special vote to herald him as being eligible during the election campaign. Truth is, he wasn’t and isn’t eligible.
For more information, see:
http://www.freerepublic.com/focus/f-news/2113310/posts