Theresa May has told MPs that it is their national duty to pass a Brexit deal after withdrawal from the EU was again pushed back.