Agnew was first known as "Johnsville" after John Behm, who was one of the early settlers in the area in the 1860s. A post office named Johnsville operated there from 1870 to 1875. It reopened in 1878 and was renamed "Agnew" on December 23, 1887. It was platted with the name "Village of Agnew" on May 16, 1889, by Edward E. Stites.
The settlement was named for JKV Agnew, a superintendent of the Chicago and West Michigan Railway, which had a station by that name there. The successor railroad, Pere Marquette Railway, closed the station and in 1952, the Michigan Department of Transportation determined it was easier to move the 12 remaining buildings to allow construction of US 31.