Yes they can.It's open to you to refuse their terms.If they offered the goods at �120 with free delivery it would come to the same but they think their way gets more business.They might have a policy of not allowing self collection because of the risks of someone being injured or injuring someone else, or damaging property when doing it, with consequent litigation.It may be, too, that their insurers have inserted a term in their policy which denies them this practice.
The price ticket or advertised price is not an offer, as has been explained above. It's what lawyers call 'an invitation to treat' not a binding offer. .It can be changed or withdrawn.A mistaken price does not bind the vendor who appears to be offering it: you can't insist on it.