There are several ways to calculate percentiles. You used the "Nearest rank" method, in which case the answer is indeed 85.
There is another way to calculate percentiles, "Linear interpolation between closest ranks method":
$$p_n=\frac{100}{N}(n-\frac{1}{2})$$
Where:
$P_n$ is the percentile (85 in the current problem)
$N$ is the number of observations (40)
$n$ is the $n^{th}$ observation you need to take (unknown).
You have to solve $\frac{100}{40}(n-\frac{1}{2})=85$, and you get $n=34.5$.
This means that you have to take an average between the 34th and 35th observations. In your sample, the 34th obs. is 85 and the 35th obs. is 89, and their average is 87.
More information and examples are available in Wikipedia: http://en.wikipedia.org/wiki/Percentile.