Alas, it's happened before ...
1976 NL: Ken Griffey Sr. Griffey entered the final day hitting .338. Bill Madlock was hitting .333. But Madlock went 4-for-4 for the Cubs to raise his average to .339. Once word reached Cincinnati, Griffey entered in the seventh inning, but went 0-for-2.
1983 NL: Bill Madlock. Now with the Pirates, Madlock was hitting .323 entering the final game. He sat. Lonnie Smith went 2-for-5 to finish at .321. Jose Cruz Sr. went 0-for-4 to fall from .320 to .318. The title was Madlock's. Actually, we could do a whole blog on Madlock. He apparently tore a calf muscle on Sept. 5 and only had 19 plate appearances the rest of the season. He had played the five previous games, however -- although he had left the final four before the fifth inning. In fact, in all of his batting title seasons, Madlock missed time in September with injuries. How many of these were legit remains open to debate. In 1983, it's odd that he kept attempting to play only to leave games early. Bill James once wrote, "I never saw any other player who was as focused on batting championships as Bill Madlock ... if he was in the hunt for the title the guys in the press box used to run a poll to see who could pick the days that Madlock's hamstring would keep him out of the lineup."
1982 AL: Willie Wilson. Hitting .332, Wilson sat out game No. 162. Robin Yount was hitting .328 and went for 4-for-5 with two home runs (in a game the Brewers needed to win capture the AL East), but fell short at .331.
2003 AL: Bill Mueller. Entering the last day, Mueller was at .327, Derek Jeter was at .326, and Mueller's Boston teammate Manny Ramirez was at .325. Mueller and Ramirez didn't start for Boston. Jeter went 0-for-3 for the Yankees to drop to .324. Mueller pinch-hit in the eighth inning -- but only after Jeter was already 0-for-3. Mueller finished at .326 to win the title.
1991 NL: Terry Pendleton. Hitting .319, Pendleton didn't play the final game. Hal Morris went 3-for-4 for the Reds to raise his average from .314 to .318. Tony Gwynn finished third at .317, but he was injured and didn't play the final three weeks of the season.
1986 NL: Tim Raines. Raines had a strained chest muscle that had forced him to miss three games the final week, but he had played all 14 innings in the game before the season finale. Manager Bob Rodgers informed Raines that Steve Sax would have to go 4-for-4 to catch Raines if he sat. Raines said he hadn't swung the bat well the night before. He sat. "I think it would be unfair for anyone to criticize him for deciding to sit it out, because he's been such a good team player all year," Rodgers said. Sax got just one hit and Raines won the crown.
Those are just a few examples I came up with on short notice. The history of the sport is littered with controversial batting titles, most notoriously the 1910 race between Nap Lajoie and Ty Cobb (Lajoie recorded seven bunt hits in a doubleheader against the Browns on the final day of the season) and the 1976 AL race, when Hal McRae was battling Royals teammate George Brett (and Minnesota's Rod Carew). In the bottom of the ninth, Brett trailed McRae. He needed a hit (McRae was on deck). He blooped a ball that Twins left fielder Steve Brye misjudged. The ball bounced over his head and Brett circled the bases for an inside-the-park home run. When McRae then grounded out (leaving Brett at .333, McRae at .332), he made two obscene gestures to the Minnesota bench, had to be restrained, and later alleged racism was involved (Brye was white, McRae black). (For more on the 1976 controversy, here's a good take.)