Germany's Zverev won the match 7-5, 7-6 (7/5) but the end of the contest at London's O2 Arena on Saturday was overshadowed by an unusual incident.
Zverev stopped playing during a rally with Federer leading 4-3 in the second-set tie-break after the ballboy's error, forcing the point to be replayed.
Zverev won the point with an ace and nudged into a 5-4 lead before Federer inexplicably netted with a simple forehand volley to hand the German two set points, the second of which he took on his own serve.
Immediately after the match finished there were boos from the pro-Federer crowd and on-court interviewer Annabel Croft told them to be “more respectful” as Zverev had been playing by the rules.
“First of all I want to apologise for the situation in the tie-break,” said the German.
“The ball boy dropped the ball and it is the rules we have to stop the point.”
Federer, who was chasing a seventh end-of-season title, described Zverev's move to stop the rally as a “big call” but said no blame attached to the German.
“I'm not questioning Sascha's (Zverev's) sportsmanship in any way,” he added.
Federer said the ballboy had confirmed to him that he had dropped the ball.
“From that standpoint, it's OK, no problem, that happens,” said the Swiss.
“It's all good. It's all good. I hope he doesn't have a sleepless night. It's not a big deal at the end of the day.”
“I'm definitely not mad at him,” he added. “It's all good, you know, from my side.”