There are three big reasons for this:
1) It takes time for businesses to price inflation in. As a business owner I am unlikely to raise my prices from $1.0
in year 1 to $1.04
in year 2 to account for 4% increase in the money supply. Instead I am likely to wait until I can justifiably raise the price to $1.25
or some other price that makes more sense for marketing. As a result there will be a lag between inflation and the money supply. In the long run I will choose to price money supply into my prices thus driving inflation but on a yearly basis in the short run businesses will not perfectly price in the money supply.
2) Money supply primarily drives inflation in the long term however short term price shocks can significantly affect inflation. For example if the price of oil suddenly drops due to discovery of new shale reserves in the United States that will be reflected in a drop in price levels across the entire country. For any business the cost of production, transportation, etc. has dropped which will be reflected in a drop in the price level (which dictates inflation) despite no change in the money supply.
3) Economic growth drives deflation even if the monetary base stays the same size. If there is economic growth through an increase in efficiency (i.e new technology) then the value of money will go up. If there is $100
in an economy and the only product within the country is 100 widgets which are produced every year with the past year's 100 widgets being consumed then the price of a widget would be $1
. If suddenly a new type of tech allows us to build widgets for half the cost we could now produce 200 widgets in this economy using the same resources and capital stock. With the same $100
you can now buy 200 widgets or $.5
per widget. Effectively this means that the price level has gone down and that the value of a dollar has gone up. This happens in the real world through increases in technology and is the driving reason for a long run increase in the monetary base for almost all economies.