Hi friends, its really been a tough call to tell you that with which algorithmic update your website is hit but there are few hit and trial methods by which you can check that. One of the most popular methods is to look into the webmaster tool for any message which will show you that is there any problem like keyword stuffing, cloaking or something else. You can also go and check for the crawl errors, if there are so many crawl error of specific type like 404 not found or DNS errors, try fixing those errors and hope for the better results.
The other method by which you can track this is tracking the drop of traffic on your website using Google Analytics. In that you have go and check that in which period your traffic fall dramatically. Then do a search on internet for any algorithmic update. If there is any then you can modify your website accordingly and try to get rank higher again.
However telling a reason is not possible every time for the drop in rankings and fall in traffic. But if its algorithmic, its really good that you can update your website again according to the update policies and can rank higher again.
Below is the video from Matt Cutts answering the same question.