Yes they are both correct, however I think it sounds better to say ' I have my piano lesson today'.
To be more colloquial, 'I have piano today' and 'I have English today'.
'I have piano today' makes sense because there is no article, 'I have a piano (today)' would mean that you own a piano (today).