The Georgia businessman told ABC's "This Week" that it would have been "appropriate" for him to have defended the soldier. None of the candidates on stage at the Sept. 22 forum responded to the boos.
"In retrospect, because of the controversy it has created and because of the different interpretations that it could have had, yes, that probably -- that would have been appropriate," Cain said, when asked if he should have asked the audience to respect the soldier.
Cain said it wasn't immediately clear to him what had drawn the audience's scorn, adding, "I happen to think that maybe they were booing the whole 'don't ask, don't tell' repeal more so than booing that soldier."
The so-called don't ask, don't tell policy barring gays from serving openly in the military was officially lifted last month.
Cain's remarks came after President Barack Obama on Saturday chastised the GOP candidates at the debate, saying one of the duties of the nation's commander in chief is to stand up for Americans in uniform.
Separately, Sen. John McCain, R-Ariz., said that the GOP candidates at the debate should have defended the soldier. "The fact is we should honor every man and woman who is serving in the military and should in no way treat them with anything but the highest regard," he told CBS' "Face the Nation."
McCain added that the GOP candidates may have been thinking about how to respond to the soldier's question rather than paying attention to the booing. "I would bet that every Republican on that stage did not agree with that kind of behavior," he said.
Last December, McCain led Senate opposition to the repeal of the restriction on gay service.
The soldier, Stephen Hill, was booed when he asked via a recorded video if any of the candidates would try to circumvent progress for gays and lesbians in uniform. Hill told the GOP hopefuls that when he was first deployed to Iraq last year, when don't ask, don't tell was still in effect, "I had to lie about who I was."