Yes, FlightAware Insight allows you to see minimum, median, and maximum prices on a given route over the last year, but it currently only has data for the USA.
For example, searching for flights from Nashville (BNA/KBNA) to Atlanta (ATL/KATL) yields these results:

According to FlightAware's FAQ, this data is provided by the airlines every 30-90 days, but is currently only available in the United States.
What is the coverage area of airline insight data?
FlightAware Insight currently cover airline and cargo operations in the US.
How current is FlightAware's insight data?
FlightAware Insight data is updated every 30-90 days. FlightAware currently displays the last year of data.
How does FlightAware know the fare/routing ticket details?
This ticket data for flown itineraries is provided by the airlines on a regular basis but with personal information (e.g., name, frequent flyer number, address, method of payment) removed.
Note on Ticket Prices
When looking at these prices, keep in mind that a large percentage of travelers on many routes (if not most routes) are business travelers buying expensive last-minute fares, not casual travelers booking cheap fares 4 months out. As such, the median prices you see here will probably be higher than you expect if you fall into the latter category and aren't necessarily good guidance about what constitutes a 'good' price for the route. The minimum fares work better for that purpose, though.
Note on "Airport Code" Search Fields
The "airport code" they're looking for in the search fields on this site is the ICAO identifier for the airport (used by pilots and ATC,) not the IATA airport code (used by airlines for ticketing and baggage handling.) Thankfully, converting between the two is easy for the USA. For airports in the continental 48 states, in general, just adding 'K' to the front of its IATA code will yield its ICAO code. For airports in Alaska or Hawaii, add 'P' instead. Unfortunately, it's not so easy for airports outside of the USA, where there's often no correlation at all between the two codes, so you just have to look up the ICAO code.