No.
They don't need visa, only passaport for the US citizens and a green card and some passaport. To port in Canada they need to show a passaport and to port in US they need the green card.
Not sure about a visa but you do need a passport. Double check with TSA for your specific question about a visa.
Not a VISA, however a few years ago my aunt needed a passport to get back into the USA, pending what part of Canada. Double check with airlines to be sure.
Thanks! Your answer is awaiting moderation.