Michael Butler, 52, was in a canoe with two friends near Treasure Island, where he lives, when the boat overturned, according to the Coast Guard.
Butler's friends swam to shore and headed home, but Butler stayed behind and climbed back into the canoe, Coast Guard officials said.
His friends returned to the shoreline and called the Coast Guard when they could not find Butler at about 6:15 p.m.
It is unclear why Butler stayed behind and did not go back to shore with his friends, Coast Guard Petty Officer Caleb Critchfield said.
The Coast Guard partnered with 12 local law authorities for an extensive search that spanned about 190 square miles, Coast Guard officials said.
A helicopter spotted an overturned canoe near Richmond's Brooks Island late this afternoon and a responding patrol boat discovered a body matching Butler's description nearby.
Richmond police and fire departments assisted in recovering the body and local authorities are waiting for the coroner's report to confirm his identity, according to the Coast Guard.