Is the person writing quality code and not missing deadlines? If so, no. If not, speak with them regarding what's being missed. If it doesn't resolve itself, fire them.
Being employed in our type of work doesn't actually require someone to be at the office most of the time. If they're showing up for normal hours, producing quality code and meeting all deadlines, why should this be an issue?
The worse you would have done is that their company is successful and they leave. So it's either you fire them or they leave? Either way, they're going to leave. If the engineer is otherwise a great employee, it's best not to expedite their departure.