£9.5bn spending gap wasn’t disclosed, ‘which under the law ... they should have done’, says fiscal watchdog