In theory, this shouldn't happen. Airlines use centralized systems called "Global Distribution Systems" (GDS) which handle pricing, bookings, ticketing, etc. Regardless of which "travel agent" (real or web-based) is booking the tickets, the pricing and availability should be the same.
Some online travel agents play with the prices a little, advertising that they are discounting the price, but then generally end up adding fees and charges that negate the discount.
In practice, it's not all that uncommon to find different prices on different websites, for a number of different reasons. These include :
Tickets being issues in different countries. Technically prices vary on a country-by-country basis, so if you buy a ticket from (for example) a Canadian website it might be priced differently to a US website.
Prices listed not including taxes/fees. As of a few months ago all prices listed on US sites must include all taxes and fees (except "optional" ones like baggage fees), however there's still some websites that don't include everything, so the price can jump when you actually get to payment.
Stale information. Some websites caching pricing information, and only lookup the correct price in the GDS once you're a step or two into purchasing.
Removed fares. When fares are added or removed from the GDS systems it sometimes takes a while to propagate (up to a few hours). It's possible that one site will have the old fare information, and whilst another will have the new information.
Time differences. Specific airfares expire on a specific date - either an absolute date or X days before the flight. Later in the day it's possible for different websites to give different prices depending on where they are located, and whether it's "today" or "tomorrow" at their location.
To answer your specific question - I've never used airfare.com so I can't comment on them, however Vayama have a relatively good reputation and I've not had problems when I've used them in the past. However, they DO partake in some shady deals when it comes to discounting - advertising discounts on specific fares, and then bumping the "Taxes and Fees" on the booking to a point where there is no discount over booking on another website.
Keep in mind that many of the airlines have a "low price guarantee" for tickets purchased on their site. If you can find a cheaper fare elsewhere (same flights/cabin/etc) then they will refund the different and/or give you some form of compensation. This doesn't help for multi-airline bookings, but it's a good option for single airline bookings if you can find a cheaper (total) price elsewhere. I'm not sure if they still do this since the rules regarding showing total price have come in, but I'd still suggest being a little cautious.