Erm, I would probably fudge it and say you can't find it and you are afraid it might have gone off to the charity shop in your last clearout, but you will keep looking...
But she hasn't got a leg to stand on - she gave it to you. And somebody somewhere is probably getting more out of it than either of you. If she's annoyed just say sorry but you never realised she might want it back.
I'd say i found it in the bottom of wardrobe or something and it has been damaged? or went out with other 'stuff' that needed storing when you were having a clear out and you think DH mhas dumped the whole bag.....act angry that other wonderful items have also gone.......if DH agrees to go along with it!!! I would not tell her what actually happened!!!!!
Tell her she's still too fat for it, and she shouldn't try it on yet, in case it demotivates her. snort.
Or tell her you wore it recently and you and DH got a bit carried away in the taxi on the way home, what with the dress being so beautiful. There's now a stain you can't remove . Surely she wouldn't want it then, but she may respect you more for banging her son in a taxi than how she's going to feel when she realises you gave it to charity.