I have resolved this issue,
The take away, whenever an after insert trigger try to update the same case / lead, with out adding below statement.
Database.DMLOptions
and EmailHeader.triggerAutoResponseEmail = true
, will ends in not firing the auto response rule.
So we have to manually add the EmailHeader.triggerAutoResponseEmail
to true
one more time while updating the same record in after insert.
or
You can take out the Update logic to some asynchronous action.