Caufield became the first Canadiens player with a 45-goal season since Stephane Richer scored 51 in 1989-90.
Ivan Demidov, Oliver Kapanen and Alex Newhook each had a goal and an assist for the Canadiens (41-21-10), who have won five of their past six. Nick Suzuki had two assists, and Jacob Fowler made 23 saves.
The Canadiens are third in the Atlantic Division, remaining four points behind the Tampa Bay Lightning.
Juuse Saros made 28 saves for the Predators (34-30-9), who have lost consecutive games after winning their previous five.
Nashville is one point ahead of the Los Angeles Kings for the second wild card into the Stanley Cup Playoffs from the Western Conference.
Demidov gave the Canadiens a 1-0 lead at 11:34 of the first period on a wrist shot on the rush from the right circle that beat Saros on the blocker side. Suzuki recorded his 300th NHL assist on the play.
Kapanen made it 2-0 at 3:12 of the second period on a shot from in front of the crease on a pass from Newhook.
Caufield extended the lead to 3-0 at 14:45 on a wrist shot from the slot after he forced a turnover from Predators forward Jonathan Marchessault.
Newhook made it 4-0 at 16:23 on a one-timer from the left circle on a backhand pass from Demidov.
Zachary L’Heureux scored for the Predators to make it 4-1 at 16:26 of the third period. Ryan Ufko dumped the puck in, and it bounced off the glass right to L’Heureux in front of the net.