Kylie went thru that about a year and half or so ago. She is longhaired and does cough up a hairball every so often but this wasn't hairball related. I took her to the vet and he diagnosed gastritis. Gave her an antibiotic and with the exception of a hairball every so often, she hasn't vomited like that since.
I had switched her to light food and then back to her old food and he said that is probably what did it. And when I switched her it didn't give her enough time to recuperate. So when I switched her food this time I did it very very slowly, and no problems.
She never acted like she was 'sick' either. She would just vomit and go on about her business.