at my store, yes it is a problem because too many times I've found things that seasonal/new tms have cancelled after the fact. just bc it says none on hand doesn't necessarily mean there are actually none. the system accounts for the order and it reflects the current number after the fact. so if you have an order for one shirt and there was one on hand before the order dropped, the system will subtract it from the on hands and so it will say zero.
are you checking with people in that department? are you checking go-backs/returns? was it delivered recent enough for it to be on the line or in receiving still? did you check the backroom aisle for that fill group for unlocated items? if it's enabled, are you using the rfid scanner to scan possible locations? if you're already doing all this stuff, then go ahead and cancel it but you have to be sure to let your captain/tl afterwards and that you've exhausted all possible places.
if its repeated behavior, you can get a CCA and eventually a final and then term. when you cancel an item when we do have it, the store loses out on that sale. it will still be fulfilled but at a different location. that's not good for a whole number of reasons.
tldr its okay if you're responsible, but in general no don't do it.