Even later with this suggestion - but better late than never perhaps?
If the quilt is purely for decorative purposes then how about that rubber mesh underlay that you can get for carpets etc. There is a very lightweight one at Ikea (called Stopp) which you could probably stitch in strips to the back of your quilt and I think that might work. I have a leather sofa and I just tried the underlay on it and it doesn't shift. But that's not to say that the weight of a quilt with the underlay wouldn't shift, but it's worth a try. Alternatively, how about a strip of sticky velcro on the back of the sofa and a companion strip across the top of the back of the quilt? That's all I can think of. Hope it's not too late to be of help.