He then argued that I had missed the opportunity because he had already declared his attack.
For what it's worth, he cheated. The rules quite clearly state that you have to give the person a reasonable amount of time to declare actions.
If he didn't give you any time then he's breaking the rules.