Can an arduino perform this task (pulse counter) ?

Yes but in that case it is still free running is it not? So this would not affect the accuracy and stability surely? Or am I missing something?