Koivunen briefly lost control of the puck before regaining it and skating to the high slot for a snap shot.
Rickard Rakell scored a tying goal late in the third period, Connor Dewar also scored, and Arturs Silovs made 24 saves for the Penguins (5-6-1), who have won two in a row following four straight losses.
Juuse Saros made 34 saves, and Steven Stamkos and Jayden Struble scored for the Predators (3-3-4), who have lost five of six (1-2-3).
Rakell tied it 2-2 at 18:54 of the third with a one-timer off a cross-ice pass from Sidney Crosby for his second goal in three games after a nine-game drought to start the season.
Stamkos put Nashville ahead 1-0 at 9:24 of the first period. Stamkos, battling Pittsburgh defenseman Kris Letang just above the crease, had a pass from Matthew Wood bounce off his skate and past Silovs for his fifth goal this season.
Dewar tied the score 1-1 18 seconds into the second period. Elmer Soderblom sent a pass from behind the net off the stick of Predators forward Ryan O'Reilly and to Dewar in the right face-off circle for a wrist shot.
Struble put Nashville back in front 2-1 at 6:40 with his first goal since being acquired in a trade from the Montreal Canadiens on Oct. 9. Nils Hoglander intercepted a pass from Pittsburgh defenseman Spencer Stastney along the end boards and passed out front to Struble for a snap shot from the right circle.
Jack Drury nearly scored for the Predators when he dove at a loose puck, but it crossed the goal line just after the clock expired to end the second.
Penguins forward Evgeni Malkin, who is tied with Nick Robertson for the team lead with six goals, did not play because of an illness.