Since I don't have your contract, I am saying this from what you described. You should be fine, but you should still send a cancellation letter, just to be formal and also a courtesy and nice thing to do. I would.
Yes, you can since they have not met the terms you specified.
However, I would formally send a cancellation request with the reason in whatever form your local real estate law requires and cancel the first offer.
I assume you have not opened escrow yet, right? If you have, you also want to make sure you get your deposit back, if any.
This is just cleaner and safer.