It may well be that either your item list is full (30 items I think) or your meals/snacks lists are full (15 of either). If that is the case I'm not sure if you can or you can't surprise the shopkeeper, but I'm pretty sure you can't and it just beeps when you try to surprise him.