Hi,
There are many reasons. But "all" of them are related to Virtuemart backend configuration. You must be missing something in the backend. First place to check is "Shopping Groups". If you add prices to products for certain shopping groups (for instance; wholesaler or registered-users or Default Users) then the rest of them (not-logged in users) will see "Call for Price" link.
check this link below for more info:
www.flexiblewebdesign.com/forum-virtuemart-template-materialmart-support/3596-a-few-issues-with-materialmart#15047
regards.