No, you don't need the update. Just create a view that calculates the status "on-the-fly" and retrieve the status information through the view.
Code:
CREATE VIEW status_info
AS
SELECT some_column,
date_next
case
when date_next < current_date then 'STATUS_ONE'
else 'STATUS_OTHER'
end as status
FROM your_table
One rule in relational databases: do not store things you can determine from existing data.
If your application cannot be changed to use the view, rename the table, create the view with the name of the table and create RULEs to make the view updateable.
Then you never need to worry about the status column, it will always be correct without any background jobs.