Check the terminal for the small wire on the positive post of the battery. That wire leads to the fuse panel, and a loose connection can cause the computer to read that as a weak battery.
I recently had a similar problem with my '15 Expedition. The light came on intermittently. Voltage always looked good, both while running and off. I had the battery and charging system checked, and everything tested fine. One day, the light came on before I left the driveway, so I decided to check it out. When I opened the hood, I could see a few melted spots and a small amount of smoke coming from the red rubber terminal cover for the battery. That small wire terminal was blazing hot. I traced the wire to the fuse panel. Once it cooled, I could turn the nut with just my fingers. I tightened the nut, and haven't had a battery light since.