You need to use dynamic SQL, it won't automatically parse your table name in.
create procedure set_interface_flag
@lnkey varchar(20),
@Tname varchar(25),
@fname varchar(25)
as
declare @sql nvarchar ( 4000 )
set @sql = 'update ' + @Tname + '
set ' + @fname + ' = getdate()
where lnkey = ''' + @lnkey + '''
exec sp_executesql @sql