Companies are not (yet) legally obliged to pay bank holidays. However, if your contract says they do pay bank hoidays then you are legally bound to be paid.
You may not however, be paid for the day off you had before the bank holiday but again this depends on your contract. If you took the day as holiday then yes you would be paid, but if it went down as anything else (sick, emergency leave etc) then they don't have to pay.
Infact, some companies have specific policies to say they don't pay sickness or emergency leave on days preceeding bank holidays to deter employees phoning in "sick" the day before to extend their weekend.